package com.crm.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import nonapi.io.github.classgraph.json.Id;

import java.time.LocalDateTime;

@ApiModel(value = "contract", description = "合同表")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "contract", autoResultMap = true)
public class Contract {

    private String createBy;

    private String updateBy;

    @ApiModelProperty(value = "主键", example = "1")
    private Long id;

    @ApiModelProperty(value = "合同编号", example = "C0000001", required = true)
    private String contractNo;

    @ApiModelProperty(value = "合同文件名称", example = "contract_file_name.pdf", required = true)
    private String fileName;

    @ApiModelProperty(value = "姓名", example = "张三", required = true)
    private String name;

    @ApiModelProperty(value = "手机号", example = "13800138000")
    private String phone;

    @ApiModelProperty(value = "购买学科", example = "数学", required = true)
    private String subject;

    @ApiModelProperty(value = "购买课程", example = "高中数学", required = true)
    private String channel;

    @ApiModelProperty(value = "课程id", example = "1001")
    private Integer courseId;

    @ApiModelProperty(value = "活动id", example = "2001")
    private Integer activityId;

    private String status;

    private String coursePrice;

    private String discountType;

    private Integer businessId;

    @ApiModelProperty(value = "创建时间", example = "2023-01-01T12:00:00", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间", example = "2023-01-01T12:00:00", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private Integer deptId;


    @ApiModelProperty(value = "客户id", example = "100000001")
    private Long customersId;

    @ApiModelProperty(value = "活动名称", example = "寒假特惠")
    private String activityName;


    @ApiModelProperty(value = "购买课程", example = "初中数学")
    private String courseName;

    private LocalDateTime finishTime;

}